1. Field of the Invention
This invention relates to apparatuses and methods for playback of waveform sample data employed in audio record/playback systems.
This application is based on Patent Application No. Hei 10-13544 and Patent Application No. Hei 10-13545 both filed in Japan, the contents of which are incorporated herein by reference.
2. Description of the Related Art
Some personal computers are equipped with coder-decoders (each abbreviated by xe2x80x9cCODECxe2x80x9d) and CODEC driver software to enable monaural or stereo sound record/playback operations with respect to waveform sample data (or WAVE data). Herein, the coder-decoders are configured by analog-to-digital converters (each abbreviated by xe2x80x9cA/D converterxe2x80x9d or xe2x80x9cACDxe2x80x9d) and digital-to-analog converters (each abbreviated by xe2x80x9cD/A converterxe2x80x9d or xe2x80x9cDACxe2x80x9d), while the CODEC driver software is provided to drive the CODEC.
The conventional record/playback method of the WAVE data using the CODEC and CODEC driver is designed to use the bus every sampling period (known as xe2x80x9cDAC cyclexe2x80x9d, e.g., 44.1 kHz) so as to transfer one sample of the WAVE data to the CODEC. Similarly, at a record mode, the conventional method performs transfer of one waveform sample data every sampling period.
In the conventional record/playback method of the waveform sample data, the bus is used every sampling period to transfer the waveform sample data. For this reason, switching of the bus use right frequently occurs, which cause reduction of an operation efficiency of the system as a whole.
In addition, a number of channels which can be used for record and playback is limited to one corresponding to monaural sound or L/R interleaved stereo sound. In other words, it is impossible to perform record and playback with respect to multiple xe2x80x9cindependentxe2x80x9d channels (or multiple tracks). In order to perform record and playback with respect to two xe2x80x9cindependentxe2x80x9d channels, it is necessary to provide two xe2x80x9cindependentxe2x80x9d DMA channels (where xe2x80x9cDMAxe2x80x9d is an abbreviation for xe2x80x9cDirect Memory Accessxe2x80x9d).
By the way, it is also known that the waveform edit software performs playback by locating multiple WAVE data on arbitrary positions on the time axis. Such waveform edit software exclusively uses the specific hardware that is capable of reproducing the multiple WAVE data simultaneously.
In the conventional playback method of the waveform sample data, a CPU generates trigger signals for waveform playback. For this reason, it is impossible to control the playback start timing of the WAVE data with a high precision. In addition, it is also impossible to determine the playback end timing with a high precision. In the multitask processing, the CPU has other processes which are executed simultaneously in addition to sending processes of waveform samples and playback control processes of WAVE data. For this reason, the conventional system is incapable of always and immediately executing the process to send the waveform sample at the given timing. As described above, it is impossible to force the CPU to perform the precise time control with respect to WAVE playback.
Particularly, the conventional system suffers from a problem in the case where the multiple WAVE data are simultaneously played back although the control precision for the playback timing is low. In that case, the playback timing of the WAVE data fluctuates, which cause changes in states of mutual interference between waveforms. So, playback sounds should be heard differently every time the playback is made.
It is an object of the invention to provide an apparatus and a method for playback of waveforms that have a capability to play back waveform sample data without reducing an operation efficiency of the audio record/playback system.
It is another object of the invention to provide the apparatus and method for playback of waveforms that have a capability to simultaneously play back audio signals on multiple tracks in an independent manner.
It is a further object of the invention to provide the apparatus and method for playback of waveforms that have a capability to control the playback start timing and playback end timing with a high precision.
It is a still further object of the invention to provide the apparatus and method for playback of waveforms that have a capability to perform high-precision waveform playback even in the case where waveform sample data of multiple channels are simultaneously output.
An audio record/playback system incorporating features of this invention is configured using a RAM containing PC buffers and a sound input/output board which is equipped with another RAM containing P buffers and R buffers as well as a digital audio circuit. At a playback mode, waveform sample data consisting of waveform samples are subjected to burst transfer using a PCI bus from the PC buffer to the P buffer in a first half duration of each sampling period with respect to one channel. In a second half duration of the sampling period, one of the waveform samples is transferred from the P buffer to the digital audio circuit, wherein it is subjected to digital audio processing. Thus, the waveform sample data are played back in response to prescribed timings synchronized with sampling periods. At a record mode, waveform sample data corresponding to sounds to be picked up are supplied to the digital audio circuit, from which they are transferred to the R buffer. Then, the waveform sample data are transferred to the PC buffer on which they are recorded. At a sequence playback mode, a set of WAVE data are loaded from an external storage unit to the RAM with respect to multiple channels in response to a sequence playback instruction. Then, the WAVE data are transferred to the sound input/output board, by which they are played back. Incidentally, when playback is completed with respect to one channel so that a vacant area is created in the RAM, next WAVE data regarding another channel are automatically loaded to the vacant area of the RAM.
Thus, it is possible to perform playback of waveform sample data of multiple channels with a high precision and high efficiency without causing substantial reduction of operation efficiency of the system.